/*
调用注意，只要修改寄存器数量 Reg_num

如果有需要修改寄存器内容的功能，需要在Modbus_Func6()这个函数里写 分析modbus功能码的代码，改Reg[]数组的内容就OK了
对单片机来用数据和取数据，就直接找Reg[]数组就可以了。

 */
#ifndef _modbus_h_
#define _modbus_h_

#include "debug.h"
/**************************************************** */

#define Reg_num 18 // 寄存器数量                       修改这个就可以加寄存器数量

/**************************************************** */
typedef struct
{
	uint8_t myadd;		  // 本设备从机地址
	uint8_t rcbuf[100];	  // modbus接受缓冲区
	uint8_t recount;	  // modbus端口接收到的数据个数
	uint8_t reflag;		  // modbus一帧数据接受完成标志位
	uint8_t sendbuf[100]; // modbus接发送缓冲区

} MODBUS;

extern float wind_length;
extern float wind_width;
extern uint16_t axis_mode;
extern uint8_t motor_reg;
extern MODBUS modbus;
extern uint16_t Reg[];
void Modbus_Init(void);
void Modbus_Func3(void);
uint8_t Modbus_Func6(void);
uint8_t Modbus_Event(uint8_t *Buf, uint16_t cnt);
#endif
